other sections
STRCAT(3) | Linux Programmer's Manual | STRCAT(3) |
名前¶
strcat, strncat - 二つの文字列を連結する
書式¶
#include <string.h> char *strcat(char *dest, const char *src); char *strncat(char *dest, const char *src, size_t n);
説明¶
strcat() 関数は、dest 文字列の後に src 文字列を付け加える。 その際に、dest の最後にあるヌルバイト ('\0') は上書きされ、 新たに生成された文字列の末尾に終端のヌルバイトが付与される。 二つの文字列 src と dest は重なってはならない。 また、文字列 dest は、連結後の結果を格納するのに 十分な大きさでなければならない。
strncat() も同様だが、以下の点が異なる。
- src のうち最大 n 文字が使用される。
- src が n 文字以上の場合、 src はヌル終端されている必要はない。
strcat() と同じく、dest に格納される結果の文字列は常にヌル終端される。
src が n 文字以上の場合、 strncat() は dest に n+1 文字を書き込む (src からの n 文字と終端のヌルバイトである)。 したがって、dest の大きさは最低でも strlen(dest)+n+1 でなければならない。
strncat()
の簡単な実装は以下のような感じであろう:
char* strncat(char *dest, const char *src, size_t n) {
size_t dest_len = strlen(dest);
size_t i;
for (i = 0 ; i < n && src[i] != '\0' ; i++)
dest[dest_len + i] = src[i];
dest[dest_len + i] = '\0';
return dest; }
返り値¶
strcat() 関数と strncat() 関数は、結果としてできる文字列 dest へのポインタを返す。
準拠¶
SVr4, 4.3BSD, C89, C99.
関連項目¶
bcopy(3), memccpy(3), memcpy(3), strcpy(3), strncpy(3), wcscat(3), wcsncat(3)
2008-06-13 | GNU |